The online racing simulator
Searching in All forums
(737 results)
Editor Test Patch D50 (now D64)
Scawen
Developer
Hello Mod Creators,

Here is an update for the LFS Editor.


Editor 0.7E is now available!
https://www.lfs.net/forum/thread/95664




Changes in Editor D64:

FIX: Subobject transparency was not visible in special draw mode


Changes in Editor D63:

Vehicle editor:

New switch options for rotator and slider: signal / light switch
New flip function "with driver" (move across with driver / no flip)
Spinner objects now stop nicely at the default position


Changes in Editor D61:

Modeller:

Message selecting triangle in another subobject uses subobject name
ALT+click on triangle in another subobject to select that subobject
FIX: Spoke editor duplicate and delete buttons in texture page mode

Rim editor:

Added CTRL+D (duplicate) and CTRL+N (new point) keys


Changes in Editor D60:

Graphics:

Support for stretched tyres (when rim is wider than ideal)

Rim editor:

You can now see and type / copy / paste selected point coordinates
Removed direct drag on point and added diagonal drag handle instead
Snap to grid only works on the relevant drag axes (X, Y or both)

Modeller:

New button to show subobject's axes (beside "rotate" button)


Changes in Editor D59:

Vehicle editor:

Selected suspension point can (again) be adjusted in SHIFT+L view
Subobject indicators left / right now relative to whole vehicle
FIX: Passengers were not updated when selecting a different setup

Modeller:

New flood select function to select all triangles by point sharing
- different from CTRL+SHIFT+LMB (select related triangles by edge)
- ALT+RMB selects all connected triangles regardless of properties
- triangles are considered connected if they share a single point
FIX: Keep merged subobject feature was controlled by wrong option


Changes in Editor D58:

Moving subobjects:

Popup headlight system generalised for moving objects with switches
Subobjects can rotate a set angle, slide or spin at a given speed
This can be connected to switched lights / ignition / horn / siren
New test system in vehicle editor "Class / Inputs" tab (top left)


Changes in Editor D56:

Skin mappings that move with driver side swaps no longer avoid flip
Transparency now works correctly with popup headlight objects
Popup headlights now support flip function


Changes in Editor D54:

Lights tab in Vehicle Editor:

FIX: Subobject lights did not visibly update in editor when adjusted

Modeller:

Merge subobject dialog : use selected layer / keep existing layers
Improved layer selection (tooltips change when CTRL is pressed)
- in orange/yellow mode : CTRL+RMB sets the selected layer
- tri mode : CTRL+LMB - select all triangles in layer

Modeller hotkeys / shortcuts:

Keys to select modes: numbers 1 to 8 (subob
SHIFT+M / SHIFT+S - show main / show subobs


Changes in Editor D53:

Lights:

Lights now work on subobjects (e.g. bike handlebars)
New object type "Popup headlight"
- set axis, angle and time of rotation in modeller
- test using slider bar in vehicle editor Lights tab

Modeller:

Option to keep an empty (rotated) subobject after "merge into main"
- and break off main object into rotated subobject works as expected
- for example the following sequence of operations is now possible:
1) rotate a subobject to convenient orientation for modelling
2) merge into main but keep the empty rotated subobject
3) model and map the subobject in that position
4) break off into the rotated empty subobject


Changes in Editor D52:

Wheel object visibility:

No change in editor but game now matches the editor
- "inside covered" or "open wheel" only affect logo and lighting
- visibility of brake disc and spoke object is no longer affected

Rim and spoke objects:

Rim now gets material properties from first mapping in spoke object
Spoke object can have more than one texture page, including _ALP
- for example a chrome material can now be added as first mapping
- and in that case the rim would also use that chrome material
- no alpha sorting: transparency should only be used for overlays

Lights:

Multiple mappings per special name e.g. more than one l_head
- a second word is allowed e.g. 'l_head front' / 'l_head top'
- the second word is only to make it clearer for the mod creator
- extra names such as l_sbrk and l_tbrk are no longer needed
- reduced number of special light mapping names from 18 to 12
- mesh configurations are now fully supported by the lights
- e.g. separate mappings like 'l_head stock' and 'l_head sport'
- NOTE: maximum of 4 mappings per special name in a configuration
- NOTE: all mappings in use in a group must share a single texture

Dashboard:

Option: Show low and high beam icons simultaneously
- (shows icons for lights less than the current light switch)
Option: Show dim icons when not illuminated [default yes]
- (allows you to disable the faint image of icons that are off)
Option: Show dim segments of digital displays [default yes]
- (disable the faint non-illuminated segments of gear / speed)
Editor options: Dash lights off/on / Expand dash texture display


Changes in Editor D51:

WARNING: INCOMPATIBLE UPDATE!
TEST PATCH D50 IS REQUIRED AND YOU MUST BE ON A D50 HOST
OFFICIAL VERSION SHOULD BE RELEASED IN MID-DECEMBER


Interface:

New icon for LFS_EDITOR.exe includes 256x256 icon image
Improved messages warning of unsaved changes on exit

Wheel rims:

Rim can now be fully edited - there are no fixed surfaces
Rim no longer blends seamlessly into the wheels without an edge
Allows more design flexibility for alloy wheels and steel wheels
Removed: edge extra width / lip depth / inner depth / black inner
A simple alloy style edge is automatically added to existing rims
Option to allow separate wheel style (rim/spokes) for front & rear
Tyre vs rim guide in the vehicle editor helps set correct rim width
Rim has 60 segments around instead of 30 (tyres still 30 around)

Rim editor:

Guide shows regions that should be covered by rim cross-section
Button "flip x" to swap selected points between left and right
The colour at the bottom of the list can now be deleted
3D view of car visible in rim editor can now be rotated
Can set the size of text buttons and selection blobs
Grid size of 1mm helps with "snap to grid" function
Mouse wheel can be used to zoom in and out quickly

Wheel lighting:

New ambient lighting system for wheels and spokes
The new lighting system replaces the old 'rim shade' option
Separate options for front & rear lighting (open / inside covered)
Update code automatically removes Dx/Ex darker colours from rim

Spare wheel:

Option to include a left or right spare wheel (or both if offset)
Option for single spare wheel to swap side when driver swaps side
Option for spare wheels to be based on rear or front wheels
Cars with visible spare + different size wheels a little lighter
- because they are auto set to use front wheel for graphics + mass
Spare wheel heading can now be set (as well as lean)
Spare wheel offset can now be up to 1.25m (like road wheels)
Spare wheel vertical (up or z) position can be set up to 2m
Option to include hub object with any spare wheels

Vehicle editor:

Scroll bars added to Lights tab and Textures tab
Engine mounting renamed to "Crankshaft axis" to avoid ambiguity

Bikes:

Increased maximum value for brakes, suspension stiffness, damping
FIX: Fork tubes misaligned if ride height adjusted in other setups
FIX: Weight distribution was wrong if any trail reduction was set
FIX: Wheel masses not correctly positioned for trail reduction

Modeller:

New buttons to shear (skew) points when CTRL is held in 2D view

Other incompatible updates:

Specify number of rear passengers (from 1 to 3)
Manually set rear seat width (2 or 3) or offset (1)
Max mesh configurations increased to 8
A single road wheel can be be offset to the right
Frame tubes can be single sided (not mirrored)
Specify per object (engine, battery, frame, etc) if swaps side
Trail reduction can now be set for any vehicle (not just bikes)
- can also go negative now / recommended value zero for most cars
Minimum steering wheel (or handlebar) turn reduced to 20 degrees
Fog lights can now be used (assign in model / enable in Lights tab)

Dashboard:

Dashboard lights for fog lights and fuel warning are now available
Optional dipped headlight symbol (for new command /light head low)
Support for new dashboard lights / symbols: sidelights and neutral

Lights:

Special mapping names l_high (high beam) and l_extra (extra light)
New light colours "side" / "high" (headlights) and "extra" light
- "high" lights are for vehicles with separate high beam lights
- "extra" lights are for unspecified vehicle-specific purposes
/light head side - switches on side lights
/light head low - switches on low beam
/light head high - switches on high beam
If l_side separate there is an option to keep them on with main
If l_side not separate you can choose to share l_head or l_high

Race classes:

Max engine size: bike 2.5L, formula 8L, F1 5L, truck/bus/van 16L
Added two new classes: bus (like truck) and prototype (like GT)

Engine:

V16 engine is now available

System:

If startup fails on selected adapter it tries again using default
- avoids message "No outputs found" after selecting wrong adapter


Changes from 0.7C to 0.7D40:

General:

Editor sliders now have both arrows on the right
H button at top left to hide/show message history like H key in game
Left click increments should now always be smaller than right click
- previously this was not consistent between all types of button
- as before, CTRL may do smaller steps, SHIFT may do larger steps
- this change should apply to distance, colour, angle and scale

Vehicle editor:

Exit warning only if changes have been made
Various improvements in layout and organisation
Undo and redo functions for all editor operations
Tooltips are now available (allows reduced button text)
Engine damage light can be enabled (in Transmission tab)
A new button to show the view from driver's eye position
Spare wheel can now be offset laterally (set RIGHT value)
Maximum value for main body drag increased from 1.0 to 6.0
Unsaved changes warning on clicking the X button to exit LFS
New message on clicking "Animate" if the vehicle has no driver
Question button and tip are shown for unusual FR configurations
Caster angle reduced to 2 decimal places (3 seemed excessive)
Maximum speed for each gear is now visible in the vehicle editor
- you will need to click the '-' button beside reload textures
Max subobjects to be drawn in editor increased to 40 (was 32)
Mod with too many materials cannot be exported to test in LFS
For flashing pit speed limiter light - choose brake or rear fog
Width / ratio / rim width move in bigger steps with right click
Frame position adjustments use expected steps for mouse clicks
CTRL+RMB (copy) SHIFT+RMB (paste) now work with frame point values
Hide the bottom right buttons now hides the whole settings block
Special view no longer includes wheel mass cuboids by default
Error message displayed if a vehicle file cannot be loaded
FIX: Dashboard for electric vehicles was switched off in editor
FIX: A fix for the cover image screenshot when exporting a large mod
FIX: Corrects an audio bug if a bad value is set in LFS sound editor
FIX: Save as SIT / STR name now limited to 7 characters
FIX: Crash if vehicle mod had more than 64 materials
FIX: Spare wheel pitch now expressed in degrees
FIX: Nudging of RPM sliders in engine editor

Dashboard editor:

Speedo:
- set maximum value in km/h (steps of 5)
- option to show units (km/h or mph)

Tacho:
- set maximum value
- x100 or x1000
- gap 1/2 (x1000) or 5/10 (x100)
- options to show units (x100 or x1000)

Options on all gauges:
- needle colour = text colour
- needle is long
- needle above pivot
- hide pivot
- hide numbers
- hide symbol (if applicable)
- hide marks
- smaller text

A new dashboard backing texture system
- only for s_clock and s_clock_white dashboards [restriction removed in D36]
- backing texture appears *behind* needle, numbers, markings
- appears illuminated (self lit) like the default dashboards
- recommended texture size is 512 or 1024 for future-proofing
- load the texture in page mode in the modeller
- click the "fixed" button to mark it as "dash"
- there is a reload button in the dashboard editor
- alpha channel has no effect

Digital and analog speedo may be used at the same time
Ability to set colours instead of using the system colours
Set background colour without supplying a backing texture
Adjustable black rectangle option if background is not black
FIX: Dashboard texture can now be updated in a 2D view

Switches for options previously controlled by Race Class:

- Pit limiter light (in 'Lights')
- Handbrake / Horn / Starter Motor (in 'Allow')
- Oval suspension arms (in 'Suspension')
- Grooved slicks (in 'Wheel Object')

Limited sidecar support:

Lone wheel (e.g. front) can be offset left (in Suspension tab)
- offset wheel to right is currently disabled for compatibility
Pair of wheels (e.g. rear) can be longitudinally staggered
- only the rearmost wheel of a staggered pair is driven
- anti-roll is disabled when the pair is staggered

Mod Export:

A new limit of 8192 triangles / 12288 vertices for LOD2
Groups are compressed when exporting for test or upload
A sky reflection (environment map) is included in mod screenshot

New vehicle:

Better initial values for engine and fuel tank positions
Light colours are now initialised (all were black except rear fog)
FIX: Editor buttons appeared during dialog in new vehicle screen

Animation editor:

Eye view button (beside origin and object buttons)
Keys O (view object) and SHIFT+O (options) now work
FIX: Driver in wireframe mode could be obscured by the vehicle

Vehicle editor keys:

CTRL+O: load vehicle / CTRL+N: new vehicle
C: to clear selected point and selected tube
Delete: delete a point or tube (if only one is selected)

Modeller:

There is now a redo function to go with the undo function
Ability to name subobjects (right click name or description)
Unsaved changes warning on clicking the X button to exit LFS
New dialogs for extrude / lathe / create a circle of points
You can now undo "load main object" (reverts to old object)
New button to select a point by entering the point index
- index of a single selected point or triangle is displayed
Rearranged buttons in tri mode to align well with point mode
Helpful messages about bad normals are now shown at top right
- triangles that are too small or too thin are separately listed
- triangles as small as 1/3 of a millimetre can contribute normals
- click button to find error triangles or points with bad normals
New function "invert" to invert selection (selected - unselected)
Disabled point selection by middle button in build and point modes
Number plate texture s_plate is now visible in modeller 'page' mode
Rotated subobjects can now be correctly merged into the main object
You can now break off triangles from a subobject into a new subobject
Select or deselect multiple triangles by holding down CTRL and LMB
- move the mouse to nearby triangles to keep selecting or deselecting
Aligned "select selection's points" and "select connected triangles"
- these were misaligned in 2D modes if a selection box was visible
- it can be useful to click them repeatedly (much easier if aligned)
You can hide subobjects other than the selected one: show subobs NO
Reflect object function is now available for individual subobjects
Combined clean object buttons into a single button with a dialog
New feature to merge points by distance (distance can be specified)
Mouse control now works below 1cm from the plane (down to 1mm)
Modeller move in list UP/DN: move more with SHIFT or right click
A new style dialog is now used for merge points (ALT+M) options
A point is selected if unambiguous after merge to green or average
A new function "reduce detail" is visible with triangles selected
Map / cutout / page selections are preserved when possible
Undo and redo deal correctly with map / cutout / page modes
Cutout mode works more like map mode and avoids button overlap
Overlay function from page mode is now available in cutout mode
Square buttons in map mode match mapping aspect ratio to cutout
Export plain / shaded / wireframe for any texture (not only skins)
FIX: Map mode showed texture file for skin cutouts as [no texture]
FIX: Points more likely to remain selected after scale or lathe
FIX: Crash on reload textures with no cutout or page selected
FIX: Wireframe view went wrong or crashed on "reload textures"
FIX: Rim disappeared on clicking "reload textures" in spoke edit
FIX: Bottom right screen layout was wrong in 2D views
FIX: Crash when selecting overlay with no texture

Wheel-related modeller features:

Set subobject as "hub object" that moves and rotates with a wheel
Spoke mode "export SRE" saves combined spokes as a modeller object
Spoke mode "import SRE" function to load modeller object as a spoke

Modeller hotkeys / shortcuts:

CTRL+O: load main object

Keys for subob, point, tri, map, cutout, page modes:
CTRL+D: duplicate
CTRL+N: new
DELETE: delete

H: hide selected (points or triangles)
SHIFT+H: hide unselected
ALT+H: unhide all

E: extrude selected points (with trace enabled in point mode)
S: select selection's points / select connected triangles
CTRL+F: flip selected triangles (in tri mode)
CTRL+F: flip connected triangles (in point mode)
CTRL+I: invert selection (points or triangles)
ALT+M: Merge points (previously known as Fuse points)


DOWNLOAD:

LFS Editor PATCH 7A to 7D64 [If you already have LFS Editor 0.7A]
Editor 0.7A or later must already be installed!
EDIT: Link removed - 0.7E is now available [1.7 MB]
0.7E: https://www.lfs.net/forum/thread/95664
Last edited by Scawen, .
Scawen
Developer
We are getting near the next test patch, which will be semi-compatible (same physics and graphics, new mod options).

I've updated the change log in the first post, to bring all the updates from D to D48 into the same list.

I hope it makes sense. I feel a bit like this: Ya right

D to D48: https://www.lfs.net/forum/thread/102117
Scawen
Developer
Come on guys, I'm trying to work and could do without these off topic questions.

It's a test patch. Usually I don't prepare the whole auto updater system, just to stick up a test patch. It takes far too long to do.

Please, report problems with the test patch or don't comment here.
Scawen
Developer
There was a known bug that caused LFS to hang when generating AI paths for certain mods that were created incorrectly (with "Max up" wrongly set). The bug was fixed in Test Patch D45.

I don't know why a computer would need restarting. In the case of a hang, you can "End task" or "End process" using Windows Task Manager (CTRL+SHIFT+ESCAPE).
Scawen
Developer
As the tougher parts of the AI were finished (for now) in D46, I was able to do another small change that had been planned for the incompatible version. The four character version of a mod's name now appears in the results table instead of "MOD". It's an imperfect system in that more than one mod may end up with the same 4-character name, but it is useful as an indication of a mod when space is tight. Of course the algorithm used in LFS was designed to be the same as the one used at LFS World, so hopefully the names are always the same!

After that, I looked back through this thread and found various issues related to AI and pit stops. There were a few reasons for AI to speed in the pit lane, miss pit stops and miss their garage when parking. Also I was able to update the pit speed limiter to be more realistic and more reliable at the same time. Fixed some rarely seen interface bugs too.

Thank you for all the testing and comments!


Changes in Test Patch D47

Interface:

Four-character mod names are shown in results table instead of MOD
FIX: /setlap command error if name coloured and number 4 chars long
FIX: Replays auto-named with special characters could appear wrong

Simulation:

Pit speed limiter now based on drive speed instead of world speed
- prevents wheelspins (e.g. at RO) pushing car over the speed limit

AI:

Avoid excessive downshifting when approaching speed limit zone
Approx 1 second safety margin entering pit lane to avoid speeding
Use speed limiter or throttle to avoid wheelspins causing speeding
Smoother transitions switching between main path and pit lane path
FIX: Some mods would brake too gently and miss the pit stop point
FIX: Some mods would overshoot their pit garage when parking


Download:

https://www.lfs.net/forum/thread/102117
Scawen
Developer
Quote from UnknownMaster21 :EDIT: Got it! It is not that much dramatic as AI is near the end of the pitlane, but there it happens. Depending on the car condition and where the pit box is, it varies. You also notice how they skip a pitbox.

OK, the pit stop issue is definitely fixed. Thanks for the reproduction but this one is too unreliable to use as a proof of fix. I couldn't reproduce it (using default setup). I would need something like 100% reproduction method, hopefully for a single car on a short race. Then, if it didn't happen in my test version we'd know for a fact it is fixed. But I'm not asking you to keep trying it, just let me know if you happen come across one where it happens every time.

Quote from Slashpca :On bikes they crash brutally on the high speed kink style corners on West Hill and the start finish at Blackwood on motorcycles for me. Seems as though they come in way too fast and start to steer way too late. If I lower them to level 2 or less skill they stay on track but they're hilariously slow elsewhere.

I was asking specifically about problems joining and leaving the pit lane path, but I think you are talking about ordinary corners?

If you are talking about bikes failing at corners, please state the exact bike and which config, as all the bikes I have been testing with, do not crash on any configs I know about.
Scawen
Developer
Well what I originally asked about was an AI issue, but Michal's reply was about a speed limiter issue.

I'm sure the speed limiter issue is fixed but would be grateful for some testing after D47 is released.

The AI speeding may have been fixed (by other means) but without a single example to test against, it's hard to say. Big grin
Last edited by Scawen, . Reason : clarity and typo
Scawen
Developer
No problem, it's just because Flame commented on this in the test patch thread, which is somehow connected because of dashboard updates. I thought it may be worth discussing more but not on the test patch thread.
Scawen
Developer
Quote from evandroPRO123 :Is it possible to add an on/off switch to the "miscellaneous" tab for the motorcycle's steering system? I believe that if there is a way to walk with the stabilizers turned off, it is possible to maneuver, so that the stabilizer does not interfere, thinking that we would fall

No, I think you believe that there is a separate system that is acting as a stabiliser. In fact the entire balancing mechanism and steering are lumped together into a steering model. The user sets the lean, then the steering model attempts to achieve that lean solely by adjusting the front wheel steering. It's a very challenging coding task, as you can see by the two weeks it took me to get to D45, after D44.

The solution I would really like, as mentioned before, would be to have a "physics" model (simulating gyroscopic effects) and a separate "steering" model that is applied on top of that, but that is not the case at the moment and will not be the case, certainly in the 'old' LFS physics.

As I say, quite often, I am trying to get off this test patch so I can get back to the new physics so I can release the new graphics system that everyone wants. If I don't finish it, then it can't be released.

I don't think everyone understands quite how extremely active this bike balancing needs to be, to keep the bike upright at all. Without the steering model constantly adjusting the front wheel, the bike will fall instantly. For example, if the user had direct control of the handlebars, it would be impossible to keep the bike up. The balancing code is actually adjusting the steering 2000 times per second to keep the bike upright.

At this point I will only fix serious problems. I'm not going to be working on the bikes going off road in the old tyre model, or implementing a full bike physical dynamics system at this time.


EDIT: The only system like "stabiliser" that balances the bike using external forces is the "walking" or "feet down" model that takes place up to 2 m/s (7 km/h). Above 7 km/h all balance comes from the front wheel, attempting to achieve the lean angle requested by the user input.
Last edited by Scawen, .
Scawen
Developer
Thanks again for the testing and feedback.

D46 contains updates for the low speed steering, making it faster to change lean angle, while leaving the high speed steering unaffected. I hope you'll find this makes it better at low speeds.

I hope that low speed stability has not been diminished. It seemed fine on the bikes I tested. Looking

Interestingly (for me at least) it seems that a change on the final day or two before D45 was released, allowed the high speed steering model to work fine at lower speeds than the test version I had before that. So in D46 the high speed model goes all the way down to 36 km/h before the low speed model is brought in.

Changes in D46:

Low speed steering model changes lean angle in half the time
Low speed to high speed model transition is at half the speed
- Feet down model up to 7 km/h
- Low speed model only from 7 km/h to 18 km/h
- Interpolated model from 18 km/h to 36 km/h
- High speed model only above 36 km/h
FIX: Steering glitch between feet down model and low speed model

Download:

https://www.lfs.net/forum/thread/102117
Scawen
Developer
Bike riders, please can you test the new bike steering model in D45? It's a lot more stable when changing gear and braking, also it should be better at low speeds thanks to a separate low speed model.

I'll read the other posts since D44 again and make notes to see what I can do or reply as needed. My main focus has been trying to improve this bike model which became less stable due to an improvement in D44. In this version, the underlying physics is unchanged, only the code that steers the front wheel is different. After the bikes are done, I can get back to finish the intermediate incompatible version with improved mod support, so finally I can get back to the development version and new tyre model.

This diversion onto bikes has taken a lot longer than expected, but I know there are a lot of people who enjoy the bikes and I wanted to make it more acceptable for now.


Changes in D45:

New more stable steering model for bikes:

Improved handling and braking ability
A new high speed model is used for speeds above 72 km/h
A special low speed model is used for speeds below 36 km/h
Models are interpolated between 36 and 72 km/h

AI:

Bike can now brake harder (safety margin the same as cars)
FIX: A hang generating path for a mod with "Max up" wrongly set
FIX: Downshift avoidance was too strong (sometimes needed clutch)

Interface:

A message shows the name of any mod that can't be loaded in an SPR


Download:

https://www.lfs.net/forum/thread/102117
Scawen
Developer
Thank you all for the feedback.

About bikes, I can clearly see the issues you report, not only wobbling when braking from high speed, but a lot of movement when coming off or applying the throttle, or tapping the brake a little when leaned over.

I've experimented quite a bit but haven't got any conclusive improvements yet. It seems like I can dial out any issue but doing so always causes other issues at other speeds or conditions. For example I've been able to get really nice accelerating and braking while leaned over at medium to quite high speeds, but then it's a lot worse when the bike hits a relatively small bump and seriously overreacts. The trouble is that what I call the "damping" part of steering (that tries to reduce wobbling by bringing the lean rate near zero) needs to be quite high to react quickly to certain things, but it needs to be gentle in other situations.

I also tried the early stages of a more physical model which tries to simulate gyroscopic forces and really apply steering forces to that. To separate a bike's natural handling, from forces applied by the arms. But it seems a little distant for me to produce such a genuine physical model at this time and I'd rather not do that with the old tyre physics. And a complete model would need body movement too, which isn't for now.

So in that case I'm left with the original plan to improve our semi-physical model (the bike is in physics but the steering is just doing what it needs to do to balance that bike at the required lean). I still hope to improve it, given my increased understanding learned last week, now that we have better bikes and more of a range to test it on, it seems like I should be able to improve it in some way.
Scawen
Developer
I understand but this is not a suggestion thread. It is only to discuss changes that have been made in this test patch.

For suggestions not related to the test patch, we have special forum sections:
https://www.lfs.net/forum/8-Improvement-Suggestions
https://www.lfs.net/forum/532-Mods-System-Suggestions
Scawen
Developer
Test Patch D44 has some more improvements including better (safer) braking and faster bikes. I've tried to deal with some of the issues that come up when bikes are allowed to go faster.

Mainly:
- improve line following by fixing a physics flaw
- taking off over bumps at high speed
- braking too hard for their ability
- unnecessary downshifts

The bikes are a fair bit faster now but there are some issues, with some bikes on some tracks. If you have problems you can turn them down to (approximately) their D43 speed by selecting OK instead of PRO.

Examples:
- Mod 'Cruiser' keeps crashing at AS4 due to wobbles at speed
- Fast bikes crash due to bumps before the South City underpass

I can't yet make LFS detect which bikes will be a problem so should go slower, or detect where fine bumps will bounce them into the air, but it's more fun to let the AI go faster so at this point I think it's better to leave it up to you to slow the bikes manually when needed.

The car AI drivers are better at staying on their line at the corners because of two changes: (1) taking account of engine braking and (2) allowing an extra safety margin when braking. In some cases they may be slightly slower but it's a reasonable price to pay for much more reliable AI across the board.

Other known issues:
- AI can sometimes stall but don't know how to restart engine.
- Some karts at some tracks can repeatedly regenerate path (waiting to reproduce).
- AI were reported as being rougher in D43. Maybe they are better now they have a braking safety margin?
- EV regen does not correctly match brake force. E.g. front and rear force arrows not equal at 50% balance.

Changes in D44:

Misc:

Improved bike physics (affects lean angle and tyre forces)
FIX: Engine brake reduction had no effect for EV but was visible
FIX: Replay OOS after a reset attempt was prevented and long wait

AI:

Bike cornering and acceleration limits increased by 25%
Bikes slow to avoid taking off over large humps in the road
AI braking prediction now takes account of engine braking
Braking prediction includes a safety margin to avoid late braking
Avoid unnecessary downshifts by looking ahead to see if needed
Reset is available even after engine switched off after long wait
FIX: Sometimes could reach a maximum speed and stop accelerating

Download:

https://www.lfs.net/forum/thread/102117
Scawen
Developer
To help me test something, can anyone think of a corner or point on a track where fast vehicles (without downforce) go very light or even take off?

One example is at SO Sprint 1 coming off the dual carriageway section (at top of the slope that leads to the left curve around the roundabout).
Scawen
Developer
Quote from tankslacno :I also get that on every replay, where OOS occured.

Thanks for checking. I've looked now and I think the fault is a line of code I added in an earlier test patch. The time until automatic engine shutdown occurs is normally reset every time there is a user input. The line of code I added, resets that timer each time a request to reset is made. The problem is that is not stored in the replay. So when it was live, no engine shutdown really happened at that time, but in the replay it does. The solution will be to remove that new line of code and make the AI drivers do some other input to delay automatic engine shutdown.

The bug is really nothing to do with AI or bikes, that just makes it more likely to occur.

Quote from Degats :Not sure if this is relevant as I was on D42, but I just had a hard crash to desktop while joining a server with lots of mods.

Thanks for this, but the crash offset is in a generally used function, so in this case I don't know what could have happened.
Scawen
Developer
Quote from Lucas McFly :As for cars, the right turn after a long straight in the 2nd sector seems to be a problem.

Thanks for this test, I've now observed the wide cornering of the XFG and XRG after the long straight.

I think there are two main ways the AI can get a poor braking result with the new code. Either they estimate braking is better than it really is, so they brake too late and overshoot. Or they underestimate braking performance and brake too early. Apparently with this example it's the first type of error.

For interest only (and this is an untested theory) I think an important source of error may be the engine braking. The new calculation is based on the actual brakes, and how much brake can be applied before front or rear wheels lock up. But this disregards the engine braking which is acting on some of the wheels.

The old code assumed an ideal braking setup, no matter which corner it is. It assumed brake balance was perfectly set up and aligned with engine braking. Although there is no such 'perfect' setup as it is different for every corner and defends on gear selection and driving style, sometimes this assumption could come up with a better estimate than the new calculation (if the setup was near ideal for the AI drivers).

Maybe I can include an estimate of engine braking to improve the calculation. Although this may be complicated by torque split and engine brake reduction. I won't give up before I've had a look.

Quote from tankslacno :My question is that since changing Live/F11 Settings apply (almost) immediately to a car, how long before AI driver starts braking should we change their brake balance? Or let's ask it this way: how quickly does AI-driver now react to any brake balance changes in F11-window, if not immediately?

It's hard to say but it reinitialises the speeds each time it takes a new curve. But where that curve starts and ends is unknown as it is different for every AI, as it was produced during the racing line optimisation.

Quote from tankslacno :I also want to confirm that the Replay OOS Error also happens in replays recorded in this patch. And I'm sure a certain bike mod causes it, because when I tested D43 with modded GTR-cars, I had no problems when I watched replay of it, but when I did a test race with bikes on this patch, same Replay OOS Error occurred when I did playback it.

This is a concern. If it could be narrowed down to a particular mod or race setup, that would be very helpful.
Scawen
Developer
Thanks for the tests. I don't think that people are saying that something is wrong with your mod. Only that the AI had difficulty driving it to its full potential. I think it's because of the high power with road super tyres. It is a well liked mod and a good test case, so that's why it got attention. Smile

I've been using it for some tests today and now, through the braking code adjustments, it is about 0.7 seconds faster at Westhill International.

Racing alone, lap 2 of 4 lap race:
D42: 2:13.51
NEW: 2:12.84

If other tests work out, this is quite a good result. The new braking prediction is designed to handle brake balance better. I got an XRT and set brake balance to max front and max rear and in both cases it could actually take the troublesome left hander at SO Sprint 2 without clouting the wall. teeembo's Lotus inspired F1 car seems to take all corners on its racing line now.
Scawen
Developer
Quote from BorislavB :I saw that pit limiter light its already updated to flashing.
Is it possible to make when you turn your lights and press flashing button they still to can flash, because whey they are ON now they not flash, only when lights are OFF they can flash.

I can't take take requests on this thread. It is only for reporting issues with the test patch, that were not there before the test patch.

For feature requests please use the special forum section. https://www.lfs.net/forum/8-Improvement-Suggestions
Scawen
Developer
It would be very hard and far beyond the scope of this test patch to make the AI generation work in a separate thread so it doesn't hang between updates while it iterates the path improvements. You should generate offline (and outside of VR) any AI paths you want to use. Maybe you could use a separate LFS instance.

About the speed of AI, it's not your fault but I'm getting a bit tired of explaining so many times, the AI's driving ability (handling of one car, nothing to do with the overtaking) is all specific to the tyre model in question and has already been improved to some extent in the development version, but I will not be working on that for the public version, as it would be pure wasted time.

Nothing about their speed has got worse in the test patches, as I haven't worked on that. But you could verify by starting an earlier exe, run a single AI and see if the lap times are the same. That's your job as a tester really. Smile I assert that their lone car driving ability is not changed. You are welcome to prove me wrong.
Scawen
Developer
First I must say this is not a request thread. Second, your description doesn't mean anything to me. Maybe it's something to do with the fuel usage feature that has already been added? Options - Display - Extra status info?

Please only post here if it is something to do with the test patch. It's very difficult trying to stay on top of everything.
Scawen
Developer
OK, here is another update for AI, Test Patch D42. You should find it a lot safer and better in the pit lane. Also overtakes from a lower speed are better judged (avoided if there is no chance to pass safely because there is not enough time to accelerate).

I still want to look at the max braking judgement calculation, to make it take account of brake balance.


AI:

Improved driving in pit lane when close behind other drivers
Overtaking decision from low speed now allows for acceleration
FIX: Choice of pit stop box was wrong (bug introduced in 0.7B)
FIX: Slow start / stuck in pit stop if max torque at very low rpm
FIX: Errors in fuel calculation related to "Refuelling allowed"

Game:

Reset is now possible during a pit stop if the state is "finished"
FIX: Auto shift *up* did not work if max power rpm above redline

Interface:

FIX: Wrong info was shown in new F11/F12 display in Test Drive mode
FIX: Crash if /track command was used while generating AI path info


https://www.lfs.net/forum/thread/102117
Scawen
Developer
GT4_PL thank you for the comparison videos. They are entertaining. I am pleased to see D41 taking more care, crashing less.

EDIT:

I see that sometimes in D41 the result can be not as good as D40, but there are other examples with a lot of crashing in D40, that doesn't take place in D41. Example, my test with 5 bikes followed by, UF1, XRT, FOX at SO Classic, in D40 the cars would hit the bikes a lot more.

I'm still convinced D41 is better, even if sometimes an AI holds back when we really know it should try to pass. Anyway, D40 was considering passes on *individual* cars ahead, then going if all possible passes were in agreement. Instead, D41 considers the cars ahead as a group, then decides "pass left / pass right / brake". It's a better method which is more predictable. Of course, AI can be improved so much, I could work on it for years or decades. But my main aim was to stop AI ramming and ignoring other cars and bikes.
Last edited by Scawen, .
Scawen
Developer
Thank you all very much for the feedback and reports since Friday's test patch (D41).

Tankslacno, that must be the best presented patch report I have ever received! Smile

I am fixing the things which are definite bugs, especially if they were introduced recently. Some things won't be fixed but I will look at all the reported issues and see what I can do in a short time.


NOTE: I seriously want to move away from AI, as soon as possible, to get back to finish and release the recent updates to the mods editor and system (the intermediate, incompatible patch with the existing physics and graphics). So I'm just trying to round off the most important issues.
Scawen
Developer
I've released D41 with the improved overtaking.

Quote :Interface:

Simple versions of F11/F12 displays are now available during an SPR

AI:

Better line following by bikes (contact patch / effective weight)
Overtakes are considered on a group instead of only individuals
More distant consideration of other vehicles at high speed
Better collision avoidance when close behind or beside
Better estimate of the possibility and duration of a pass
When planning an overtake, time is allowed to pull in after pass
Possible to reset if an approaching vehicle is moving slowly enough
Less rapid turning of the wheel when initiating a pass

I think it's a lot better but there are some remaining issues:

- There is sometimes a hesitation when the AI wants to make a pass, and is just behind and correctly offset from the car in front, so it appears that it should go for it at that point but hangs back a bit.

- Sometimes an AI may collide with another vehicle mid corner, because it has gone in too fast and although it wants to brake, it doesn't think it has enough spare grip to apply the brakes strongly enough.

- They are still a bit too keen to overtake when their current speed is low, because they aren't taking account of the time it will take to accelerate to the speed they should be at.

- Another mistake that I see often is where the vehicle in front has a different line, and can come across in front of the AI behind which doesn't expect that to happen, then there can be a crash.

- I've looked at the calculation for braking and think there is (and always has been) an issue where it assumes the brake balance is *just right* for each corner. I wonder if I can make the braking adapt for the actual brake balance, but I don't have time for that at least today or tomorrow.

- Obviously they are still not as fast as real drivers but I won't be tackling that for this round of test patches.

https://www.lfs.net/forum/thread/102117
FGED GREDG RDFGDR GSFDG